//package cn.com.genius.base.webapp.listener;
//
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.InputStreamReader;
//import javax.servlet.ServletContext;
//import javax.servlet.ServletContextEvent;
//import org.springframework.context.ApplicationContext;
//import org.springframework.web.context.support.WebApplicationContextUtils;
//import cn.com.genius.base.util.EncryptionUtil;
//import cn.com.genius.base.util.GetLocalMac;
//
//public class ContextLoaderListener extends
//		org.springframework.web.context.ContextLoaderListener {
//	private static ApplicationContext applicationContext;
//
//	public void contextInitialized(ServletContextEvent event) {
//		super.contextInitialized(event);
//		String license = "";
//		try {
//			String encoding = "utf-8";
//			File file = new File(event.getServletContext().getRealPath(
//					File.separator)
//					+ "license.txt");
//			if (file.isFile() && file.exists()) { // 判断文件是否存在
//				System.out.println("File presence");
//				InputStreamReader read = new InputStreamReader(
//						new FileInputStream(file), encoding);// 考虑到编码格式
//				BufferedReader bufferedReader = new BufferedReader(read);
//				String lineTxt = null;
//				while ((lineTxt = bufferedReader.readLine()) != null) {
//					// System.out.println(lineTxt);
//					if (lineTxt != "") {
//						license += lineTxt;
//					}
//				}
//				read.close();
//			} else {
//				System.out.println("can not find file");
//			}
//		} catch (Exception e) {
//			System.out.println("读取文件内容出错");
//			e.printStackTrace();
//		}
//		String mac = "";
//		try {
//			mac = GetLocalMac.getLocalMac().toLowerCase();
//		} catch (Exception e1) {
//			e1.printStackTrace();
//		}
//		if (license.length() == 0) {
//			return;
//		}
//		EncryptionUtil e = new EncryptionUtil(license, 0);
//		license = e.getPassword();
//		String[] li = license.split("<->");
//		// 判断mac地址是否相同
//		if (mac==null||mac.equals(li[0].toLowerCase())) {
//			event.getServletContext().setAttribute("mac", "0");// 正常
//		} else {
//			event.getServletContext().setAttribute("mac", "1");// 异常
//		}
//		event.getServletContext().setAttribute("GENIUS_ID", li[3]);
//		event.getServletContext().setAttribute("GENIUS_PASSWORD", li[4]);
//		event.getServletContext().setAttribute("validDate", li[1]);
//		event.getServletContext().setAttribute("MaxNum", li[2]);
//		ServletContext context = event.getServletContext();
//		applicationContext = WebApplicationContextUtils
//				.getRequiredWebApplicationContext(context);
//	}
//
//	public static ApplicationContext getApplicationContext() {
//		return applicationContext;
//	}
//
//	public static void setApplicationContext(
//			ApplicationContext applicationContext) {
//		ContextLoaderListener.applicationContext = applicationContext;
//	}
//
//	private static String bytesToHexString(byte[] src) {
//		StringBuilder stringBuilder = new StringBuilder("");
//		if (src == null || src.length <= 0) {
//			return null;
//		}
//		for (int i = 0; i < src.length; i++) {
//			int v = src[i] & 0xFF;
//			String hv = Integer.toHexString(v);
//			if (hv.length() < 2) {
//				stringBuilder.append(0);
//			}
//			stringBuilder.append(hv);
//		}
//		return stringBuilder.toString();
//	}
//
//}
